草庐IT

c++ - WinAPI DestroyWindow 不工作

全部标签

c - Windows 中的目录是否有 inode 编号?

我需要在Windows中找到一个目录的inode号。使用_stat和_stat64函数,我能够获取文件的inode和其他信息。但是当我对Windows目录使用相同的编号时,它总是为任何目录提供相同的编号。有什么方法可以找到Windows目录的inode号吗? 最佳答案 来自windowsstatdocs,st_inoNumberoftheinformationnode(theinode)forthefile(UNIX-specific).OnUNIXfilesystems,theinodedescribesthefiledatean

C 代码在 Windows 中崩溃,但在 Linux 中不会

我是C的新手,我一直在Fedora中测试我的程序,使用gcc和gdb进行调试。我有一个从用户那里获取输入的程序。如果输入的第一个字符串是“create”,那么我会查看第二个命令,如果是“object”,那么我将继续执行createObject函数。希望我的代码能让这更清楚一点:staticvoidparseCmd(char**input){if(!strcmp(input[0],"create")){if(!strcmp(input[1],"object")){if(input[2]&&strcmp(input[2],""))createObject(input[2]);elsepri

c - Windows、fork 和 execv

我收到了一个Unix工具,我想在Windows下运行/编译。看了之后,我看到它使用了fork和execv等等。我现在想了解它的作用以及如何在Windows中实现它。代码的作用比这里要求的要多,所以请不要评论这段代码是否有意义。pid=fork();if(pid==0){execv("/usr/bin/java",args);}如果我正确地解释了这一点,那么它只会执行类似使用args数组中提供的参数调用java的操作。所以在Windows中,这可以通过system()或CreateProcess之类的东西轻松实现(我没有阅读如何,只知道这是可以做到的)。但这是我的问题:如果我理解正确,这

c++ - Windows BlockInput 函数不工作

为什么BlockInput不工作#include#include#includeintmain(){BlockInput(true);Sleep(10000);return0;}而且它根本不会阻止任何东西!我仍然可以做任何事情,就像我什至没有做过那样。我还觉得奇怪的是MSDN说它应该在winuser.h中声明,它在Winable.h中+我认为winable.h在中windows.h但它不是,我必须单独包含它>_>如果对我的IDE有帮助:代码::block10.05MinGW编辑:实际上我执行了GetLastError()并打印错误5ERROR_ACCESS_DENIED我怎样才能获得访

c++ - 为什么我的程序在启动前就崩溃了?

该程序由带有-g标志、-static-libgcc和-static-libstdc++的g++编译。没有包含优化标志。但出于某种原因,我无法进入主要。为什么?$nm-Ctest.exe|grepmain006c05b0T__getmainargs006b0ad0T__main0088d0e8B__mingw_winmain_hInstance0088d0e4B__mingw_winmain_lpCmdLine0088d0ecB__mingw_winmain_nShowCmd006ce518D__native_dllmain_reason00401180t__tmainCRTStartu

c++ - 在哪些情况下 __declspec( align( # ) ) 不能工作?

我有一个类:classCMatrix4f{public:CMatrix4f();public:__declspec(align(16))floatm[16];};此类使用SSE实现矩阵运算,因此m必须对齐才能工作。它大部分时间都有效,但有时我在执行像_mm_load_ps这样的SSE指令时会遇到段错误,因为m不是16字节对齐的。到目前为止,我不明白它是在什么情况下发生的。当我执行CMatrix4f*dynamicMatrix=newCMatrix4f();时,dynamicMatrix.m是否保证对齐?如果我有一个类:classMatrixWrapper{public:MatrixWr

c++ - 如何找出下一次将时钟调整为夏令时的时间?

我很好奇,是否有任何方法可以找出下一次夏令时调整发生时的UTC日期/时间?类似于Windows报告的内容(见圆圈): 最佳答案 此信息在Windows中由EnumDynamicTimeZoneInformation函数提供。参见http://msdn.microsoft.com/en-us/library/windows/desktop/hh706893%28v=vs.85%29.aspx 关于c++-如何找出下一次将时钟调整为夏令时的时间?,我们在StackOverflow上找到一个类

C++ delete 在 Windows 中并不总是按预期工作

我对一些非常简单的事情感到非常沮丧(或者我猜是这样),所以在这件事上的帮助将非常感激。(抱歉,如果这个问题已经得到解答,我没有幸运地在其他地方找到它,这就是我问的原因......)因此,出于测试目的,我编写了以下非常简单的程序。classmyclass{intx[99999];public:myclass(){}};intmain(){myclass*x=newmyclass;deletex;}在main的第一行使用了一个断点,这对我来说很容易(使用视觉studio2010和windows资源监视器)来实现,调用delete后,为该程序保留的内存在deletex后不会释放。如果我将my

c++ - 如何获得给定进程的窗口站?

比如说,如果我有一个进程ID或者它的句柄,我能得到windowstation吗?该进程运行在什么条件下? 最佳答案 不是直接的,但试试这个:调用EnumWindowStations()在与调用进程相同的Session中枚举可用的窗口站(如果您需要在另一个Session中查询进程,那么这将不起作用)。对于每个窗口站,请调用EnumDesktops()枚举其桌面。对于每个桌面,请调用EnumDesktopWindows()枚举其顶级窗口。对于每个窗口,调用GetWindowThreadProcessId()获取其进程ID并将其与您要查找

c++ - 带有 PAGE_GUARD 的 VirtualProtect 不使用局部变量

这按预期工作。引发了STATUS_GUARD_PAGE_VIOLATION。intmain(){DWORDoldp;DWORD*pdp=newDWORD;*pdp=0;if(!VirtualProtect(pdp,sizeof(DWORD),PAGE_READWRITE|PAGE_GUARD,&oldp))return1;*pdp=1000;return0;}然而,当运行这段几乎相同的代码时,程序无一异常(exception)地退出。intmain(){DWORDoldp;DWORDpd=0;DWORD*pdp=&pd;if(!VirtualProtect(pdp,sizeof(DWO